﻿using System.Collections.Generic;
using System.ServiceModel;
using Navigant.Common;
using Navigant.DataContracts;

namespace Navigant.ServiceInterfaces
{
    [ServiceContract(Namespace = ServiceConstants.WebServiceNamespace)]
    public interface IPreservationNoticeService
    {
        [OperationContract]
        List<PreservationNoticeTemplateContract> GetTemplates(CaseContract parentCase);

        [OperationContract]
        int SaveTemplate(PreservationNoticeTemplateContract template);

        [OperationContract]
        List<CustodianContract> SendNotices(CaseContract parentCase, List<int> custodianIdentifiers,
            int preservationNoticeTemplateId, string fromAddress);

        [OperationContract]
        GetPreservationNoticesResultContract GetPreservationNotices(CaseContract parentCase, 
            int pageSize, int currentPage);
    }
}
